part of 'use_case.dart';

sealed class SigningInFailure extends Equatable {
  const SigningInFailure();
}

class InvalidEmailOrPasswordSigningInFailure extends SigningInFailure {
  const InvalidEmailOrPasswordSigningInFailure({
    required this.emailValidationError,
    required this.passwordValidationError,
  });

  final EmailValidationError? emailValidationError;
  final SigningInPasswordValidationError? passwordValidationError;

  @override
  List<Object?> get props {
    return [
      emailValidationError,
      passwordValidationError,
    ];
  }
}

class WrongEmailOrPasswordSigningInFailure extends SigningInFailure {
  const WrongEmailOrPasswordSigningInFailure();

  @override
  List<Object?> get props => [];
}

class ServerSigningInFailure extends SigningInFailure {
  const ServerSigningInFailure();

  @override
  List<Object?> get props => [];
}

class NetworkSigningInFailure extends SigningInFailure {
  const NetworkSigningInFailure();

  @override
  List<Object?> get props => [];
}
